#ifndef __TRANSFER_H__
#define __TRANSFER_H__

#include "my_head.h"
#include <mysql/mysql.h>
// 文件传输上下文（上传/下载共用）
typedef struct {
    SocketFd sockfd;            // 与服务端连接的socket
    char local_path[MAX_PATH_LEN];// 本地文件路径（上传时）或保存路径（下载时）
    char remote_path[MAX_PATH_LEN];// 远程文件路径（上传时）或来源路径（下载时）
    off_t total_size;           // 文件总大小（通过stat获取）
    off_t sent_offset;          // 已传输偏移量（断点续传）
    int fd;                     // 文件描述符（上传时写，下载时读）
} FileTransferCtx;
int transfile_server(const char *filename, int sockfd);
int transfile_client(const char *filename, int sockfd);
int recvfile_client(int sockfd);
int recvfile_server(int sockfd, MYSQL *conn, const char *username,int parent_id, const char *path);

#endif // __TRANSFER_H__
